1. Field of the Invention
The present invention relates generally to a communication system. More particularly, the present invention relates to a retransmission method and apparatus using multiple mother codes in a system using Hybrid Automatic Repeat reQuest (HARQ).
2. Description of the Related Art
Error control techniques used in communication systems include a Forward Error Correction (FEC) technique and an Automatic Repeat reQuest (ARQ) technique. The FEC technique is a technique for correcting an error in received information using a code having an error correction capability. It is used when there is no feedback channel available for notifying a transmitting entity of the success or failure of its information transmission. The ARQ technique uses, for example, a Cyclic Redundancy Check (CRC) code having a high error detection capability and sends a request for retransmission to a transmitting entity over a feedback channel upon detecting an error in received information. In the FEC technique, if a receiving entity fails in error correction, defective information may be delivered to the user. If a system having a high reliability level is designed and implemented to address this problem, a great number of powerful codes capable of correcting errors must be used. However, this increases the complexity of the decoding process and makes it difficult to achieve the implementation. The ARQ technique, though it has a simple structure and a high reliability, may suffer from an abrupt decrease in information throughput in response to an increase in a channel error rate.
A Hybrid Automatic Repeat reQuest (HARQ) technique has been proposed to make up for the foregoing drawbacks by appropriately combining the ARQ technique with the FEC technique.
The HARQ technique is classified into Type-I, Type-II and Type-III. The Type-I HARQ system, the simplest hybrid structure, encodes a transmission information word for error detection and error correction. The Type-I HARQ system can be divided into a type in which one code performs both error detection and error correction, and a type in which two different codes perform error detection and error correction respectively. The Type-I HARQ system may suffer from an abrupt decrease in the information throughput in response to an increase in the channel error rate. Also, the Type-I HARQ system may suffer from overhead because the system must transmit a predetermined number of parity bits for error correction regardless of the channel condition when it uses one error correction code. The Type-II HARQ system, upon detecting an error, combines the defective packet after retransmitting only a supplementary parity without discarding the defective packet to increase decoding efficiency, thereby solving the defects. The Type-III HARQ system, like the Type-II HARQ system, upon receiving the retransmitted supplementary parities, combines the received supplementary parities with the defective packet, thereby increasing decoding efficiency. Generally, in the Type-II HARQ system, retransmission packets include only the supplementary parity, and when there is a retransmission request, the Type-II HARQ system sequentially sends the supplementary packets that it has not sent yet, and then combines the previously received packets for decoding.
A detailed description will now be made of an HARQ operation in the Type-II HARQ system.
A device in charge of Type-II HARQ transmission/reception will be referred to herein as an HARQ entity. A transmitting HARQ entity takes charge of transmission and retransmission of HARQ packets, and a receiving HARQ entity takes charge of combining/soft-combining of retransmitted HARQ packets and transmission of Acknowledgement (ACK)/Negative Acknowledgement (NACK) signals.
The HARQ entity is composed of multiple HARQ processors. A HARQ processor is a unit device in charge of transmission/reception of user packets. A transmitting HARQ processor takes charge of transmission and retransmission of user packets, and a receiving HARQ processor takes charge of combining/soft-combining of user packets.
The HARQ processors exist in pairs in a transmitting entity and a receiving entity, and one HARQ entity includes multiple HARQ processors, thereby enabling continuous transmission/reception. Specifically, the HARQ processor includes operations of transmitting a user packet, receiving ACK/NACK information therefor, and performing retransmission. That is, if there is only one HARQ processor, the HARQ processor cannot transmit other packets until it transmits user data and receives ACK/NACK information therefor. However, if there are several HARQ processors, while one HARQ processor waits for ACK/NACK, other HARQ processors can transmit data. Therefore, the HARQ entity can enable continuous transmission/reception by including multiple HARQ processors.
A basic operation of the HARQ processor is as follows.
A transmitting HARQ processor channel-codes/transmits user data and then stores the channel-coded data in a buffer for future retransmission. Thereafter, upon receipt of ACK information for the stored data, the transmitting HARQ processor flushes the data, and upon receipt of NACK information for the data, the transmitting HARQ processor retransmits the data according to a retransmission protocol. A detailed description of the retransmission protocol will be made with reference to FIGS. 1A and 1B.
A receiving HARQ processor channel-decodes data received over a physical channel and determines occurrence/non-occurrence of an error through a CRC code check. If an error has occurred, the receiving HARQ processor stores the data in a buffer, and sends a NACK signal. Thereafter, upon receipt of retransmission data for the data, the receiving HARQ processor combines/soft-combines the data stored in the buffer with the retransmission data in order, performs channel decoding thereon, and then determines again occurrence/non-occurrence of an error. If it is determined that there is still error, the receiving HARQ processor sends a NACK signal and repeats the above process. However, if it is determined that the error has been solved, the receiving HARQ processor sends an ACK signal.
As described above, the HARQ operation combines/soft-combines defective data with its retransmission data without discarding the defective data, and performs channel decoding thereon, thereby reducing a BLock Error Rate (BLER) for the packet.
With reference to FIGS. 1A and 1B, a detailed description will now be made of the retransmission protocol.
FIG. 1A is a diagram illustrating a conventional codeword packet in a Type-II HARQ system.
Referring to FIG. 1A, for a retransmission protocol, the Type-II HARQ system divides a codeword coded with a mother code in units of a particular length, for example, 200 symbols. It is assumed herein that a code rate of a mother code for channel coding is 1/5, and the mother code has a systematic structure. The total length of a codeword coded with the mother code is a 1000-symbol length, of which a length of an information word is a 200-symbol length 100 and a length of parities is an 800-symbol length including 200-symbol lengths 102, 104, 106 and 108.
For the Type-II HARQ retransmission, the Type-II HARQ system divides the codeword into 5 length-200 packets (i.e. packets with a 200-symbol length) 100 to 108.
FIG. 1B is a diagram illustrating a conventional retransmission procedure in a Type-II HARQ system.
Referring to FIG. 1B, in step 110 for initial transmission, an HARQ processor transmits a first packet 100. Thereafter, upon receipt of ACK in step 114, the HARQ processor ends the procedure. Alternatively, upon receipt of NACK in step 112, the HARQ processor proceeds to step 116.
In step 116, the HARQ processor transmits a second packet 102, or the next packet of the first packet 100, in the codeword coded according to a code rate of a mother code. Thereafter, upon receipt of ACK in step 120, the HARQ processor ends the procedure, and upon receipt of NACK in step 118, the HARQ processor proceeds to step 122.
In step 122, the HARQ processor transmits a third packet 104, or the next packet of the second packet 102. Thereafter, upon receipt of ACK in step 126, the HARQ processor ends the procedure, and upon receipt of NACK in step 124, the HARQ processor proceeds to step 128.
In step 128, the HARQ processor transmits a fourth packet 106, or the next packet of the third packet 104. Thereafter, upon receipt of ACK in step 132, the HARQ processor ends the procedure, and upon receipt of NACK in step 130, the HARQ processor proceeds to step 134.
In step 134, the HARQ processor transmits the last packet 108 in the codeword. Thereafter, upon receipt of ACK in step 140, the HARQ processor ends the procedure, and upon receipt of NACK in step 136, the HARQ processor returns to step 110 and repeats the above procedure because there is no more new transmission packet in the codeword. If the HARQ processor fails to receive ACK and receives NACK even after the number of transmissions for the packet has reached the maximum number of transmissions, the HARQ processor performs no more packet transmission. The ‘maximum number of transmissions’ is defined herein as the number of transmissions including initial transmission and retransmissions, and if the maximum number of transmissions is assumed to be 5, the HARQ processor ends the procedure after step 136.
When the HARQ processor performs Type-II HARQ retransmission using one mother code as described in FIGS. 1A and 1B, an effective code rate during initial transmission of the information word 100 is 1 and an effective code rate during retransmission of the second packet 102 is 1/2. An effective code rate during retransmission of the third packet 104 is 1/3, an effective code rate during retransmission of the fourth packet 106 is 1/4, and an effective code rate during retransmission of the last packet 108 is 1/5. The ‘effective code rate’ is defined herein as a ratio of a length of a desired transmission information word to a sum of lengths of the already transmitted HARQ packets.
That is, to increase performance of the Type-II HARQ system, the HARQ processor should optimize the code rates such as 1/2, 1/3, 1/4 and 1/5 according to the corresponding effective code rates. For example, a Low Density Parity Check (LDPC) code can obtain an optimized code through density evolution. To make a code satisfying the code rates, the LDPC code can use puncturing and extending. The puncturing is a method of puncturing a part of parity, starting with the 1/5 code as a mother code, thereby making 1/4, 1/3 and 1/2 codes. The extending is a method of adding independent parity-check equations and new parity bits, starting with a 1/2 code as a mother code, thereby making 1/3, 1/4 and 1/5 codes. The ‘optimization’ in the optimized code herein means that performance of the codes made through puncturing or extending approaches performance of the codes originally made to aim at the corresponding code rate.
However, it is very difficult to obtain performance-optimized codes satisfying effective code rates using one mother code as described above.